// 自己封装的 uni.request 工具类
var netrequest = require("./netUtil.js");
var jweixin = require("weixin-js-sdk");
var $cache = require("./cache.js");

export default {
    //判断是否在微信中  
    isWechat: function() {
        var ua = window.navigator.userAgent.toLowerCase();
        if (ua.match(/micromessenger/i) == 'micromessenger') {
            console.log('是微信客户端')
            return true;
        } else {
            console.log('不是微信客户端')
            return false;
        }
    },
    //初始化sdk配置  
    initJssdkShare: function(callback, url) {
		const app = getApp()
        console.log("init Url : "+url)
		var params = {
			url:url,
			appid:app.globalData.appid
		}
        // 这是我这边封装的 request 请求工具，实际就是 uni.request 方法。
        netrequest.postjson("h5-jssdk/GetH5Config2", params, function(res) {
        	if (res.code === 200) {
        		jweixin.config({
        			debug: false, // 开启调试模式,
        			appId: res.data.appId, // 必填，企业号的唯一标识，此处填写企业号corpid
        			timestamp: res.data.timestamp, // 必填，生成签名的时间戳
        			nonceStr: res.data.nonceStr, // 必填，生成签名的随机串
        			signature: res.data.signature, // 必填，签名，见附录1
        			jsApiList: [
        				// 必填，需要使用的JS接口列表，所有JS接口列表见附录2
        				// 所有要调用的 API 都要加到这个列表中
        				'updateTimelineShareData', //分享到朋友圈空间
        				'updateAppMessageShareData', //分享给朋友分享到QQ
						'showMenuItems',
        				'hideMenuItems',
						'hideAllNonBaseMenuItem',
						'showAllNonBaseMenuItem',
        				'scanQRCode',
        				'chooseWXPay',
        				'getLocation',
        				'openLocation'
        			]
        		});
				//配置完成后，再执行分享等功能  
				if (callback) {
				    callback(res);
				}
        	} else {
        		uni.showModal({
        			title: "提示",
        			content: res.message,
        			showCancel: false
        		})
        	}
        }, function(res) {
        	// console.log(res)
        }) // 请求结束
    },
    //在需要自定义分享的页面中调用  
    WXshare: function(data, url) {
		return new Promise((resolve, reject) => {
		   const app = getApp()
		   url = url ? url : window.location.href;
		   console.log("url:"+url)
		   if (!this.isWechat()) {
		       return;
		   }
		   //每次都需要重新初始化配置，才可以进行分享  
		   this.initJssdkShare(function(signData) {
		       jweixin.ready(function() {
		           var shareData = {
		               title: data && data.title ? data.title : '百城免单节', // 分享标题
		               link: data && data.link ? data.link:app.globalData.homeUrl, // 分享链接，记得使用绝对路径，不能用document.URL
		               imgUrl:data && data.imgUrl ? data.imgUrl :"https://cdn.qudone.com/static/miandanka_logo.png", // 分享图标
		               desc: data && data.desc ? data.desc :'未来探索', // 分享描述
		               success: function() {
						  // $cache.showSuccessToast("分享成功！")
		               	 // 用户确认分享后执行的回调函数
		               },
		               cancel: function() {
						   $cache.showNoneToast("分享失败！")
		               	// alert('分享失败！');
		               	// 用户取消分享后执行的回调函数
		               }
		           };
				jweixin.hideAllNonBaseMenuItem();   
				if(data.showshare){
					// jweixin.showAllNonBaseMenuItem();
					jweixin.updateTimelineShareData(shareData); // 分享到朋友圈和空间
					jweixin.updateAppMessageShareData(shareData); // 分享给朋友分享到QQ
					//开启分享朋友圈和好友
					jweixin.showMenuItems({
						menuList: [
						    'menuItem:share:appMessage',
							'menuItem:share:timeline',
						],
					})
					// jweixin.hideMenuItems({
					//     menuList: [
					//       'menuItem:readMode' ,  // 阅读模式
					// 	  'menuItem:openWithQQBrowser' ,  // 浏览器
					// 	  'menuItem:openWithSafari' ,  // 浏览器
					//       'menuItem:copyUrl',  // 复制链接
					// 	  'menuItem:exposeArticle',//举报
					// 	  'menuItem:setFont',//字体
					// 	  'menuItem:refresh',//刷新
					// 	  'menuItem:exposeArticle',//qq空间
					// 	  'menuItem:setFont',//qq
					// 	  'menuItem:refresh',//收藏
					//     ],
					//     success:  function  (res) {
					// 	   console.log("已隐藏“阅读模式” “复制链接” 浏览器 字体，刷新 举报等按钮'")
					//     },
					//     fail:  function  (res) {
					// 	  console.log(res)
					//     }
					// });
				}else{
					//jweixin.hideAllNonBaseMenuItem();
				}
				var jsobj = {
					jweixin:jweixin,
					status:true
				}
				resolve(jsobj)
		       });
		   }, url);
		})
    },
}